<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>数组的操作</title>
    <script>
        // 1.js的数据类型：
        // （1）基本数据类型：Number , Boolean , String , null , undefined 
        // （2）引用数据类型：Object
        // a.数组Array
        // b.字符串String
        // c.数字Number
        // d.布尔Boolean
        // e.符号Symbol
        // f.正则表达式RegExp
        //  (3) Symbol
        //  (4) Map
        //  (5) Set
        //  (6) 函数Function
        //  (7) 日期Date
        //  (8) 错误Error
        //  (9) 数组Buffer
        //  (10) 正则表达式RegExp
        //  (11) 迭代器Iterator
        //  (12) 异步函数Promise
        //  (13) 箭头函数Arrow Function
        //  (14) 类Class
        //  (15) 模块Module
        //  (16) 迭代器Iterator
        //  (18) 反射Reflect
        //  (19) 数组Buffer
        //  (20) 数学对象Math
        //  (21) 全局对象Global Object
        //  (22) 控制对象Control Object
        //  (23) 内置对象Built-in Object
        //  (24) 正则表达式RegExp
        //  (25) 数组Buffer
        //  (26) 数学对象Math
        //  (27) 全局对象Global Object
        //  (28) 控制对象Control Object
        //  (29) 内置对象Built-in Object
        //  (30) 正则表达式RegExp
        //  (31) 数组Buffer
        //  (32) 数学对象Math
        //  (33) 全局对象Global Object
        //  (34) 控制对象Control Object
        //  (35) 内置对象Built-in Object
        // 2.数组的基本操作方法
        // （1）push()和unshift()方法
        // push（）是向数组的末尾添加数组元素，unshift()是向数组开头添加数组元素,这两个方法（函数）
        // 是要有参数传入的。
        // var arr = [1,2];
        // // var arr = new Array();
        // arr.push(11,12);//将11，12g两个元素添加进arr
        // arr.unshift(33);
        // document.write(arr);
        // （2）join()方法，用于把数组中的所有元素放入一个字符串中。元素通过指定的分隔符号进行分隔，
        // 如果不指定，默认以逗号分隔。
        // var arr = [11,22,33];
        // var s = arr.join('--');
        // document.write(s);
        // (3)pop()方法和shift()方法，pop()方法是删除数组中最后一个元素，并返回被删除的元素；
        // shift()方法删除数组中的第一个元素，并返回被删除的元素。
        // var arr1 = [11,22,33,44];
        // var s = arr1.pop();
        // document.write(arr1);
        // document.write('<br>');
        // document.write(s);
        // var u = arr1.shift();
        // document.write('<br>');
        // document.write(arr1);
        // document.write('<br>');
        // document.write(u);
        // (4)splice()方法，稍微复杂，能够从数组中删除元素或插入元素，或者同时完成两种操作。
        // 语法格式为arrayObject.splice(index,howmany,item1,...,itemX);
        // index,为必须项，整数，规定添加或者删除项目的位置，使用负数可从数组结尾处规定位置；
        // howmany,也为必须项，表示要删除的项目数量，如果设置0，则不会删除项目。
        // item1,...,itemX，为可选项，表示的是向数组中新添加的项目。
        // var arr1 = [11,22,33,44,55,66];
        // var s = arr1.splice(3);
        // var arr2 = [11,22,33,44,55,66];
        // var s = arr2.splice(1,3);
        // var arr3 = [11,22,33,44,55,66];
        // arr3.splice(1,0,555);
        // (5)reverse()用于颠倒数组的顺序；
        // var arr = ["hello","world","!"]
        // arr.reverse();
        // (6)sort()方法用于对数组进行排序。
        // var arr = ["dbc","abc","cbc"];
        // arr.sort();
        // var arr = [2, 111, 4, 1];
        // arr.sort();
        // arr.sort(function (a, b) {
            // return a - b;
        // });
        // (7)cancat()方法用于连接两个或多个数组，且不会改变原来的数组，仅仅会返回被连接的数组的
        // 一个副本。
        // var arr = [11,22];
        // var newArr = arr.concat(33,44);      

    </script>
</head>

<body>

</body>

</html>